Deps { edges: self.graph.edges(pkg), resolve: self }
}
+ pub fn deps_sorted(&self, pkg: &PackageId) -> Vec<&PackageId> {
+ let mut deps = self.deps(pkg).collect::<Vec<_>>();
+ deps.sort();
+ deps
+ }
+
pub fn deps_not_replaced(&self, pkg: &PackageId) -> DepsNotReplaced {
DepsNotReplaced { edges: self.graph.edges(pkg) }
}
}
let id = unit.pkg.package_id();
- let deps = self.resolve.deps(id);
- let mut ret = deps.filter(|dep| {
+ let deps = self.resolve.deps_sorted(id);
+ let mut ret = deps.iter().filter(|dep| {
unit.pkg.dependencies().iter().filter(|d| {
d.name() == dep.name() && d.version_req().matches(dep.version())
}).any(|d| {
/// Returns the dependencies necessary to document a package
fn doc_deps(&self, unit: &Unit<'a>) -> CargoResult<Vec<Unit<'a>>> {
- let deps = self.resolve.deps(unit.pkg.package_id()).filter(|dep| {
+ let deps = self.resolve.deps_sorted(unit.pkg.package_id());
+ let deps = deps.iter().filter(|dep| {
unit.pkg.dependencies().iter().filter(|d| {
d.name() == dep.name()
}).any(|dep| {